package de.haw.HES.Vertrieb;

import java.util.ArrayList;
import java.util.List;

import de.haw.HES.Datentypen.Amount;
import de.haw.HES.Datentypen.KundeId;
import de.haw.HES.Datentypen.ProduktId;
import de.haw.HES.Kundenmanagement.Kunde;
import de.haw.HES.Kundenmanagement.pub.KundenmanagementAdapterService;
import de.haw.HES.Warenmanagement.Produkt;
import de.haw.HES.Warenmanagement.pub.ProduktmanagementAdapterService;
import de.haw.HES.base.ApplicationContextProvider;

public class VertriebUtil {

	public static Angebot setKundeForAngebot(KundeId kundeId,Angebot angebot) {
		KundenmanagementAdapterService kundeService = ApplicationContextProvider.getApplicationContext().getBean(KundenmanagementAdapterService.class);
		
		Kunde kunde = kundeService.getKundeById(kundeId);
		
		angebot.setKunde(kunde);
		
		return angebot;
	}
	
	public static Angebot addProduktMengeForAngebot(ProduktId produktId, Amount menge, Angebot angebot) {
		
		ProduktmanagementAdapterService produktService = ApplicationContextProvider.getApplicationContext().getBean(ProduktmanagementAdapterService.class);
		
		Produkt produkt = produktService.getProduktById(produktId);
		Menge produktAndAmount = new Menge();
		produktAndAmount.setMenge(menge.getAmount());
		produktAndAmount.setAngebot(angebot);
		produktAndAmount.setProdukt(produkt);
		
		List<Menge> produkteAsList = angebot.getMenge();
		
		if(produkteAsList == null) {
			produkteAsList = new ArrayList<Menge>();
		}
		
		produkteAsList.add(produktAndAmount);
		
		angebot.setMenge(produkteAsList);
		return angebot;
	}
	
}
